package com.example.demo;

import com.example.demo.model.DbType;
import com.example.demo.model.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class UserController {

    // 读取配置文件内容中的端口号
    @Value("${server.port}")
    private Integer port;

    @Value("${dream.port}")
    private String por;

    // 测试yml配置文件
    @Value("${myyml.port}")
    private Integer ymlp;

    // 测试value中的单双引号
    @Value("${mystring1}")
    private String mystring1;

    @Value("${mystring2}")
    private String mystring2;

    @Value("${mystring3}")
    private String mystring3;

    // 添加了类注释后，可以使用属性注入的方式去使用
    @Autowired
    private Student student;

    // 集合
    @Autowired
    private DbType dbType;

    // 读取为null
    @Value("${null.value}")
    private String nullTest;

    // 根本不存在
    @Value("${noexist.value}")
    private String noExist;


    @ResponseBody // 返回的是一个非静态页面
    @RequestMapping("/sayhi")  // 设置路由地址
    public String sayHi() {
        System.out.println(nullTest); // 测试null
        System.out.println(noExist); // 测试根本不存在

        System.out.println("mystring1: " + mystring1);
        System.out.println("mystring2: " + mystring2);
        System.out.println("mystring3: " + mystring3);

        return "Hello,World! | dbtypes : "+ dbType.getName(); // 注意这里只是获取到dbType中的name属性（链表）
    }
}
